import store from '@/store/index'

class Interceptor {
  request = (options) => {
    !options.header && (options.header = {})
    options.header.Authorization = store.state.user.token
    
    // 添加当前语种到请求头
    const currentLanguage = uni.getStorageSync('language') || uni.getSystemInfoSync().language || 'zh'
    options.header['language'] = currentLanguage
    
    // 最后需要将config进行return
    return options;
    // 如果return一个false值，则会取消本次请求
  }

  response = (res,handleError) => {
    if (res.success || res.code == 200 || !handleError) {
      // res为服务端返回值，可能有code，result等字段
      // 这里对res.result进行返回
      // 如果配置了originalData为true，请留意这里的返回值
      return res.data || res;
    } else if (res.code === 403 || res.code === 401) {
			uni.showToast({
				title: res.message || res.msg,
				icon: 'none',
				mask: true
			})
			uni.navigateTo({
				url: '/pages/login/login'
			})
			return false
    } else {
			uni.showToast({
				title: res.message || res.msg,
				icon: 'none',
				mask: true
			})
			return false
    }
  }
}

export default new Interceptor